package condominio.dao;

import java.sql.PreparedStatement;
import java.sql.SQLException;

import com.mysql.jdbc.Connection;

import condominio.excepcion.DAOExcepcion;
import condominio.modelo.Vivienda;
import condominio.util.ConexionBD;

public class ViviendaDAO extends BaseDAO {

	public void insertar(Vivienda vi) throws DAOExcepcion {
		System.out.println("ViviendaDAO: Insertar(Vivienda vi)");
		String query = "INSERT INTO Vivienda(idpersona, idubicacion, direccion, areacons) VALUES (?,?,?,?)";
		Connection con = null;
		PreparedStatement stmt = null;
		try {
			con = (Connection) ConexionBD.obtenerConexion();
			//con.setAutoCommit(false);
			stmt = con.prepareStatement(query);
			
			// comentario amigos!! como el IdPersona e IdUbicacion viene de otra tabla los capturo de esta manera
			// he hecho la prueba de jalar los ya ingresados y me sale ok
			
			stmt.setInt(1, vi.getResidente().getIdPersona());
			stmt.setInt(2, vi.getUbicacion().getIdUbicacion());
			stmt.setString(3, vi.getDireccion());
			stmt.setDouble(4, vi.getAreaConstru());
			
			//.executeUpdate para ins/borr/act.
			int i = stmt.executeUpdate();
			
			
			if (i != 1) {
				throw new SQLException("No se pudo insertar");
			}
		} catch (SQLException e) {
			System.err.println(e.getMessage());
			throw new DAOExcepcion(e.getMessage());
		} finally {
			this.cerrarStatement(stmt);
			this.cerrarConexion(con);
		}
	}
	
}
